package com.example.api.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;

/**
 * Create with Intellij idea
 * User:鲁智明
 * Date:2018/11/15
 * Time:21:12
 *  在springcloud中，有二种方式调用 rest、fegin客户端
 */
@RestController
public class OrderController {

    //由springboot web组件提供   默认整合了ribbon负载均衡器
    //rest 方式底层是httpclient，如果使用rest方式以别名的方式进行调用依赖 需要依赖ribbon负载均衡器(@LoadBalanced )
    @Resource
    private RestTemplate restTemplate;


    //订单服务调用会员服务
    @RequestMapping("/getOrder")
    public String getOrder(){
        //有二种方式调用  1.使用服务别名调用 2.直接调用，使用别名去注册中心上获取对应的服务地址
         String url="http://api-member/getMember";
         String result = restTemplate.getForObject(url, String.class);  //地址不能写死，应该从注册中心上读取
        System.out.println("订单服务调用会员服务");
        return result;
    }
}
